package kyssion.leetcode.num1_50;

/**
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * <p>
 * 如果不存在公共前缀，返回空字符串 ""。
 * <p>
 * 示例 1:
 * <p>
 * 输入: ["flower","flow","flight"]
 * 输出: "fl"
 * 示例 2:
 * <p>
 * 输入: ["dog","racecar","car"]
 * 输出: ""
 * 解释: 输入不存在公共前缀。
 * 说明:
 * <p>
 * 所有输入只包含小写字母 a-z 。
 */
public class code14_最长公共前缀 {
    public static void main(String[] args) {
        System.out.println(new code14_最长公共前缀().longestCommonPrefix(new String[]{
                "flower", "flow", "flight"
        }));
    }

    public String longestCommonPrefix(String[] strs) {
        if (strs.length == 0) {
            return "";
        }
        int nowIndex = 0;
        while (nowIndex < strs[0].length()) {
            char item = strs[0].charAt(nowIndex);
            for (int a = 0; a < strs.length; a++) {
                if (strs[a].length() <= nowIndex
                        || strs[a].charAt(nowIndex) != item) {
                    return strs[0].substring(0, nowIndex);
                }
            }
            nowIndex++;
        }
        return strs[0];
    }
}
